package com.zhongkun.datahome.service.res.material;

import com.zhongkun.datahome.service.domain.HouseMaterial;
import com.zhongkun.datahome.service.res.sku.SkuVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Objects;

/**
 * @Author: lifengsheng
 * @Date: 2025/4/22 11:36
 * @Desc
 */
@Data
public class HouseMaterialSkuVo extends HouseMaterial {
    @ApiModelProperty("商品id")
    private Long skuId;

    @ApiModelProperty("商品名称")
    private String skuName;

    @ApiModelProperty("商品状态:0已下架，1已上架")
    private Integer status;

    @ApiModelProperty("类目")
    private String category;

    @ApiModelProperty("品牌名称")
    private String brandName;

    @ApiModelProperty("单位")
    private String unit;

    @ApiModelProperty("商品规格/尺寸")
    private String specification;

    @ApiModelProperty("商品来源")
    private String source;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("头图")
    private String headPicUrl;

    public static HouseMaterialSkuVo of(HouseMaterial houseMaterial, SkuVo skuVo) {
        HouseMaterialSkuVo houseMaterialSkuVo = new HouseMaterialSkuVo();
        houseMaterialSkuVo.setId(houseMaterial.getId());
        houseMaterialSkuVo.setHouseId(houseMaterial.getHouseId());
        houseMaterialSkuVo.setMaterialType(houseMaterial.getMaterialType());
        houseMaterialSkuVo.setMaterialId(houseMaterial.getMaterialId());
        houseMaterialSkuVo.setQuantity(houseMaterial.getQuantity());
        houseMaterialSkuVo.setRoom(houseMaterial.getRoom());
        houseMaterialSkuVo.setChannel(houseMaterial.getChannel());
        houseMaterialSkuVo.setRemark(houseMaterial.getRemark());
        if (Objects.nonNull(skuVo)) {
            houseMaterialSkuVo.setSkuId(skuVo.getId());
            houseMaterialSkuVo.setSkuName(skuVo.getSkuName());
            houseMaterialSkuVo.setStatus(skuVo.getStatus());
            houseMaterialSkuVo.setCategory(skuVo.getCategory());
            houseMaterialSkuVo.setBrandName(skuVo.getBrandName());
            houseMaterialSkuVo.setUnit(skuVo.getUnit());
            houseMaterialSkuVo.setSpecification(skuVo.getSpecification());
            houseMaterialSkuVo.setSource(skuVo.getSource());
//            houseMaterialSkuVo.setRemark(skuVo.getRemark());
            houseMaterialSkuVo.setHeadPicUrl(skuVo.getHeadPicUrl());
        }
        return houseMaterialSkuVo;
    }
}
